feloader.add("@cloud/lazyload/index", [], (function(e, t, n) {
    n.exports = function(e) {
        var t = {};
        function n(r) {
            if (t[r])
                return t[r].exports;
            var o = t[r] = {
                i: r,
                l: !1,
                exports: {}
            };
            return e[r].call(o.exports, o, o.exports, n),
            o.l = !0,
            o.exports
        }
        return n.m = e,
        n.c = t,
        n.d = function(e, t, r) {
            n.o(e, t) || Object.defineProperty(e, t, {
                enumerable: !0,
                get: r
            })
        }
        ,
        n.r = function(e) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
            }),
            Object.defineProperty(e, "__esModule", {
                value: !0
            })
        }
        ,
        n.t = function(e, t) {
            if (1 & t && (e = n(e)),
            8 & t)
                return e;
            if (4 & t && "object" == typeof e && e && e.__esModule)
                return e;
            var r = Object.create(null);
            if (n.r(r),
            Object.defineProperty(r, "default", {
                enumerable: !0,
                value: e
            }),
            2 & t && "string" != typeof e)
                for (var o in e)
                    n.d(r, o, function(t) {
                        return e[t]
                    }
                    .bind(null, o));
            return r
        }
        ,
        n.n = function(e) {
            var t = e && e.__esModule ? function() {
                return e.default
            }
            : function() {
                return e
            }
            ;
            return n.d(t, "a", t),
            t
        }
        ,
        n.o = function(e, t) {
            return Object.prototype.hasOwnProperty.call(e, t)
        }
        ,
        n.p = "/build/",
        n(n.s = 0)
    }([function(e, t, n) {
        e.exports = n(1)
    }
    , function(e, t, n) {
        "use strict";
        function r(e, t) {
            var n = Object.keys(e);
            if (Object.getOwnPropertySymbols) {
                var r = Object.getOwnPropertySymbols(e);
                t && (r = r.filter((function(t) {
                    return Object.getOwnPropertyDescriptor(e, t).enumerable
                }
                ))),
                n.push.apply(n, r)
            }
            return n
        }
        function o(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {};
                t % 2 ? r(Object(n), !0).forEach((function(t) {
                    i(e, t, n[t])
                }
                )) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)).forEach((function(t) {
                    Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
                }
                ))
            }
            return e
        }
        function i(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n,
            e
        }
        function a(e, t) {
            if (!(e instanceof t))
                throw new TypeError("Cannot call a class as a function")
        }
        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(e, r.key, r)
            }
        }
        function s(e) {
            return function(e) {
                if (Array.isArray(e))
                    return u(e)
            }(e) || function(e) {
                if ("undefined" != typeof Symbol && Symbol.iterator in Object(e))
                    return Array.from(e)
            }(e) || function(e, t) {
                if (!e)
                    return;
                if ("string" == typeof e)
                    return u(e, t);
                var n = Object.prototype.toString.call(e).slice(8, -1);
                "Object" === n && e.constructor && (n = e.constructor.name);
                if ("Map" === n || "Set" === n)
                    return Array.from(n);
                if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
                    return u(e, t)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
            }()
        }
        function u(e, t) {
            (null == t || t > e.length) && (t = e.length);
            for (var n = 0, r = new Array(t); n < t; n++)
                r[n] = e[n];
            return r
        }
        n.r(t);
        var l, f, d = "[".concat("data-src", "].").concat("lazyload");
        function g(e) {
            var t = function() {
                setTimeout(e, 16)
            };
            "complete" === document.readyState ? t() : window.addEventListener("load", t)
        }
        function h(e, t, n) {
            var r, o, i, a = null, c = 0;
            n || (n = {});
            var s = function() {
                return window.performance ? performance.now() : Date.now()
            }
              , u = function() {
                c = !1 === n.leading ? 0 : s(),
                a = null,
                i = e.apply(r, o),
                a || (r = o = null)
            };
            return function() {
                var l = s();
                c || !1 !== n.leading || (c = l);
                var f = t - (l - c);
                return r = this,
                o = arguments,
                f <= 0 || f > t ? (clearTimeout(a),
                a = null,
                c = l,
                i = e.apply(r, o),
                a || (r = o = null)) : a || !1 === n.trailing || (a = setTimeout(u, f)),
                i
            }
        }
        function v(e) {
            return "string" == typeof e ? s(document.querySelectorAll(e)) : e instanceof HTMLElement ? [e] : e instanceof HTMLCollection ? s(e) : (Element,
            e)
        }
        var p = function() {
            function e(t) {
                var n = this
                  , r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                a(this, e),
                this._containers = null === t ? [] : t ? v(t) : [document.body],
                this._config = o({
                    scroller: window,
                    rootMarginY: 0,
                    rootMarginX: 0
                }, r),
                "string" == typeof this._config.scroller && (this._config.scroller = document.querySelector(this._config.scroller)),
                r.rootMarginY || g((function() {
                    n._config.rootMarginY = 667,
                    window.IntersectionObserver ? (n.pause(),
                    n.resume()) : n._check()
                }
                )),
                this.refresh()
            }
            var t, n, r;
            return t = e,
            r = [{
                key: "addListener",
                value: function(e, t, n) {
                    "string" == typeof e && (e = document.querySelector(e)),
                    n = o({
                        scroller: window,
                        rootMarginY: 667,
                        rootMarginX: 0
                    }, n);
                    var r = this.isInViewPort;
                    if (window.IntersectionObserver) {
                        var i = new IntersectionObserver((function(n) {
                            n[0].intersectionRatio > 0 && (t(e),
                            i.disconnect())
                        }
                        ),{
                            root: n.scroller === window ? null : n.scroller,
                            rootMargin: "".concat(n.rootMarginY, "px ").concat(n.rootMarginX, "px"),
                            threshold: 1e-4
                        });
                        i.observe(e)
                    } else {
                        var a = function() {
                            return r(e, {
                                rootMarginX: n.rootMarginX,
                                rootMarginY: n.rootMarginY
                            })
                        };
                        if (a())
                            return t(e);
                        var c = h((function() {
                            a() && (n.scroller.removeEventListener("scroll", c, {
                                passive: !0
                            }),
                            window.removeEventListener("orientationchange", c),
                            t(e))
                        }
                        ), 50);
                        n.scroller.addEventListener("scroll", c, {
                            passive: !0
                        }),
                        window.addEventListener("orientationchange", c)
                    }
                }
            }, {
                key: "isInViewPort",
                value: function(e, t) {
                    l && f || window.addEventListener("orientationchange", (function() {
                        l = window.innerHeight,
                        f = window.innerWidth
                    }
                    )),
                    t = o({
                        rootMarginX: 0,
                        rootMarginY: 0
                    }, t);
                    var n = e.getBoundingClientRect();
                    return !(!n.width && !n.height || n.top - (l || (l = window.innerHeight)) > t.rootMarginY || n.bottom + t.rootMarginY < 0 || n.left - (f || (f = window.innerWidth)) > t.rootMarginX || n.right + t.rootMarginX < 0)
                }
            }, {
                key: "getInstance",
                value: function(t, n) {
                    return this._instance || (this._instance = new e(t || null,n))
                }
            }],
            (n = [{
                key: "refresh",
                value: function() {
                    this.pause(),
                    this._containers.forEach((function(e) {
                        e._images = [];
                        for (var t = e.querySelectorAll(d), n = 0; n < t.length; n++)
                            e._images.push(t[n])
                    }
                    )),
                    this.resume()
                }
            }, {
                key: "pause",
                value: function() {
                    this._runing && (this._runing = !1,
                    this._io ? this._io.disconnect() : (this._config.scroller.removeEventListener("scroll", this._listener, {
                        passive: !0
                    }),
                    this._config.scroller !== window && window.removeEventListener("scroll", this._listener, {
                        passive: !0
                    }),
                    window.removeEventListener("orientationchange", this._listener)))
                }
            }, {
                key: "resume",
                value: function() {
                    var e = this;
                    this._runing || (this._runing = !0,
                    window.IntersectionObserver ? (this._io = new IntersectionObserver((function(t) {
                        t.forEach((function(t) {
                            if (t.intersectionRatio > 0) {
                                var n = t.target;
                                e._load(n),
                                e._io.unobserve(n),
                                e._containers.every((function(e) {
                                    return e._images = e._images.filter((function(e) {
                                        return e !== n
                                    }
                                    )),
                                    !e._images.length
                                }
                                )) && e.pause()
                            }
                        }
                        ))
                    }
                    ),{
                        rootMargin: "".concat(this._config.rootMarginY, "px ").concat(this._config.rootMarginX, "px"),
                        threshold: 1e-4
                    }),
                    this._containers.forEach((function(t) {
                        t._images.forEach((function(t) {
                            e._io.observe(t)
                        }
                        ))
                    }
                    ))) : (this._listener = h((function() {
                        e._check()
                    }
                    ), 50),
                    this._config.scroller.addEventListener("scroll", this._listener, {
                        passive: !0
                    }),
                    this._config.scroller !== window && window.addEventListener("scroll", this._listener, {
                        passive: !0
                    }),
                    window.addEventListener("orientationchange", this._listener),
                    this._check()))
                }
            }, {
                key: "addContainer",
                value: function(e) {
                    this._containers = this._containers.concat(v(e)),
                    this.refresh()
                }
            }, {
                key: "_load",
                value: function(e) {
                    var t = e.getAttribute("data-src");
                    if (t) {
                        var n = this._config.processor;
                        if (n && (t = n(t, e)),
                        e.addEventListener("load", (function() {
                            e.classList.remove("lazyload")
                        }
                        )),
                        "IMG" === e.tagName)
                            e.src = t;
                        else if (/^[A-Za-z0-9_-]+$/.test(t))
                            e.classList.add(t);
                        else {
                            var r = e.getAttribute("style") || "";
                            r += ";background-image: url(".concat(t, ");"),
                            e.setAttribute("style", r),
                            e.style.backgroundImage = t
                        }
                        e.removeAttribute("data-src")
                    }
                }
            }, {
                key: "_check",
                value: function() {
                    var e = this
                      , t = this._config.rootMarginY
                      , n = this._config.rootMarginX
                      , r = this.constructor.isInViewPort;
                    this._containers.filter((function(o) {
                        return !r(o, {
                            rootMarginX: n,
                            rootMarginY: t
                        }) || (o._images = o._images.filter((function(o) {
                            var i = r(o, {
                                rootMarginX: n,
                                rootMarginY: t
                            });
                            if (i) {
                                if (!o.getAttribute("data-src"))
                                    return !1;
                                e._load(o)
                            }
                            return !i
                        }
                        )),
                        o._images.length)
                    }
                    )).length || this.pause()
                }
            }]) && c(t.prototype, n),
            r && c(t, r),
            e
        }();
        t.default = p
    }
    ])
}
));
